\section{Rathaxes 2009}

\subsection{Problématique}

Écrire un pilote matériel requiert des connaissances approfondies sur comment le
matériel et le système fonctionnent. Les pilotes sont lancés avec un haut niveau
de privilège et peuvent causer des désastres si quelque chose est mal fait
(arr\^et brutal de la machine)\cite{linux-tutorial}.

Chaque plateforme propose ses propres interfaces de communication et les
pilotes doivent être écrits pour chacune d'elles.

Au final, il semble évident que des logiciels sont manquants pour contrer ces
problèmes :
\begin{itemize}
\item Séparation entre les compétences matériel et logicielle ;
\item Temps de développement ;
\item Réutilisation du code.
\end{itemize}

\subsection{Vue d'ensemble du projet}

Le projet est divisé en quatre parties :
\begin{enumerate}
\item Le DSL\footnote{\emph{Domain Specific Language}} qui décrit un pilote
périphérique.
\item La \BL\ est une bibliothèque de patrons utilisée lors de la génération
du pilote.
\item Un compilateur qui traduit le DSL Rathaxes et génère un pilote.
\item Une documentation abondante sur le langage et la \BL\ pour les
utilisateurs et contributeurs de Rathaxes.
\end{enumerate}

Le DSL et le compilateur sont distribués sous licence GPLv3\cite{GPLv3} et
la \BL\ sous licence BSD\cite{BSD}.

Actuellement, Rathaxes est une preuve de concept qui peut seulement générer un
pilote RS-232.
